package com.xiaoze.basistest;

import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.tuple.Tuple2;

/**
 * 批处理
 */
public class WordCount {

    public static void main(String[] args) throws Exception {

        // 创建执行环境
        ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

        // 从文件中读取数据
        String inputpath = System.getProperty("user.dir") + "\\src\\main\\resources\\hello.txt";

        DataSet<String> stringDataSource = env.readTextFile(inputpath);


        // 对数据集进行处理，按空格分词展开，转换成(word,1)进行统计
        DataSet<Tuple2<String,Integer>> resultSet = stringDataSource.flatMap(new MyFlatMapper())
                // 按照第一个位置的word分组
                .groupBy(0)
                // 将第二个位置上的数据求和
                .sum(1);

        resultSet.print();

    }

}
